home *** CD-ROM | disk | FTP | other *** search
- import java.io.IOException;
- import java.io.Reader;
- import java.util.Hashtable;
-
- // $FF: renamed from: s
- public class class_0 {
- // $FF: renamed from: g boolean
- private boolean field_0;
- // $FF: renamed from: h java.util.Hashtable
- private Hashtable field_1;
- // $FF: renamed from: v int
- private int field_2;
- // $FF: renamed from: r java.lang.String[]
- private String[] field_3 = new String[4];
- // $FF: renamed from: b java.io.Reader
- private Reader field_4;
- // $FF: renamed from: l char[]
- private char[] field_5 = new char[Runtime.getRuntime().freeMemory() >= 1048576L ? 8192 : 128];
- // $FF: renamed from: t int
- private int field_6;
- // $FF: renamed from: i int
- private int field_7;
- // $FF: renamed from: p boolean
- private boolean field_8;
- // $FF: renamed from: o int
- private int field_9;
- // $FF: renamed from: d int
- private int field_10;
- // $FF: renamed from: n int
- private int field_11;
- // $FF: renamed from: m int
- private int field_12;
- // $FF: renamed from: s char[]
- private char[] field_13 = new char[128];
- // $FF: renamed from: e int
- private int field_14;
- // $FF: renamed from: f int
- private int field_15;
- // $FF: renamed from: q java.lang.String
- private String field_16;
- // $FF: renamed from: j boolean
- private boolean field_17;
- // $FF: renamed from: w java.lang.String
- private String field_18;
- // $FF: renamed from: a boolean
- private boolean field_19;
- // $FF: renamed from: u int
- private int field_20;
- // $FF: renamed from: k java.lang.String[]
- private String[] field_21 = new String[16];
- // $FF: renamed from: c java.lang.String[]
- private String[] field_22 = new String[]{"Start Document", "End Document", "Start Tag", "End Tag", "Text"};
-
- // $FF: renamed from: k () int
- private final int method_0() throws IOException {
- int var1 = this.field_11;
- this.field_11 = this.field_12;
- if (this.field_11 == -1) {
- this.field_8 = true;
- return var1;
- } else {
- if (var1 == 10 || var1 == 13) {
- ++this.field_9;
- this.field_10 = 0;
- if (var1 == 13 && this.field_11 == 10) {
- var1 = 10;
- this.field_11 = 0;
- }
- }
-
- ++this.field_10;
- if (this.field_6 >= this.field_7) {
- this.field_7 = this.field_4.read(this.field_5, 0, this.field_5.length);
- if (this.field_7 <= 0) {
- this.field_12 = -1;
- return var1;
- }
-
- this.field_6 = 0;
- }
-
- this.field_12 = this.field_5[this.field_6++];
- return var1;
- }
- }
-
- // $FF: renamed from: a (java.lang.String) void
- private final void method_1(String var1) throws IOException {
- throw new IOException(var1 + " pos: " + this.method_15());
- }
-
- // $FF: renamed from: c (int) void
- private final void method_2(int var1) {
- if (var1 != 0) {
- if (this.field_14 == this.field_13.length) {
- char[] var2 = new char[this.field_14 * 4 / 3 + 4];
- System.arraycopy(this.field_13, 0, var2, 0, this.field_14);
- this.field_13 = var2;
- }
-
- this.field_13[this.field_14++] = (char)var1;
- }
- }
-
- // $FF: renamed from: a (char) void
- private final void method_3(char var1) throws IOException {
- if (this.method_0() != var1) {
- this.method_1("expected: '" + var1 + "'");
- }
-
- }
-
- // $FF: renamed from: f () void
- private final void method_4() throws IOException {
- while(!this.field_8 && this.field_11 <= 32) {
- this.method_0();
- }
-
- }
-
- // $FF: renamed from: b (int) java.lang.String
- private final String method_5(int var1) {
- String var2 = new String(this.field_13, var1, this.field_14 - var1);
- this.field_14 = var1;
- return var2;
- }
-
- // $FF: renamed from: c () java.lang.String
- private final String method_6() throws IOException {
- int var1 = this.field_14;
- int var2 = this.field_11;
- if ((var2 < 97 || var2 > 122) && (var2 < 65 || var2 > 90) && var2 != 95 && var2 != 58) {
- this.method_1("name expected");
- }
-
- do {
- this.method_2(this.method_0());
- var2 = this.field_11;
- } while(var2 >= 97 && var2 <= 122 || var2 >= 65 && var2 <= 90 || var2 >= 48 && var2 <= 57 || var2 == 95 || var2 == 45 || var2 == 58 || var2 == 46);
-
- return this.method_5(var1);
- }
-
- // $FF: renamed from: a (boolean) void
- private final void method_7(boolean var1) throws IOException {
- String var2 = "";
- this.method_0();
- int var4 = this.method_0();
- byte var3;
- if (var4 == 63) {
- var3 = 63;
- } else if (var4 == 33) {
- if (this.field_11 == 45) {
- var2 = "--";
- var3 = 45;
- } else {
- var2 = "DOCTYPE";
- var3 = -1;
- }
- } else {
- if (var4 != 91) {
- this.method_1("cantreachme: " + var4);
- }
-
- var2 = "CDATA[";
- var3 = 93;
- }
-
- for(int var5 = 0; var5 < var2.length(); ++var5) {
- this.method_3(var2.charAt(var5));
- }
-
- if (var3 == -1) {
- this.method_8();
- } else {
- do {
- if (this.field_8) {
- this.method_1("Unexpected EOF");
- }
-
- var4 = this.method_0();
- if (var1) {
- this.method_2(var4);
- }
- } while(var3 != 63 && var4 != var3 || this.field_11 != var3 || this.field_12 != 62);
-
- this.method_0();
- this.method_0();
- if (var1 && var3 != 63) {
- this.method_5(this.field_14 - 1);
- }
- }
-
- }
-
- // $FF: renamed from: l () void
- private final void method_8() throws IOException {
- int var1 = 1;
-
- while(true) {
- int var2 = this.method_0();
- switch (var2) {
- case -1:
- this.method_1("Unexpected EOF");
- case 60:
- ++var1;
- break;
- case 62:
- --var1;
- if (var1 == 0) {
- return;
- }
- }
- }
- }
-
- // $FF: renamed from: i () void
- private final void method_9() throws IOException {
- this.method_0();
- this.method_0();
- this.field_18 = this.method_6();
- if (this.field_2 == 0) {
- this.method_1("element stack empty");
- }
-
- if (!this.field_18.equals(this.field_3[--this.field_2])) {
- this.method_1("expected: " + this.field_3[this.field_2]);
- }
-
- this.method_4();
- this.method_3('>');
- }
-
- // $FF: renamed from: g () int
- private final int method_10() {
- switch (this.field_11) {
- case -1:
- return 1;
- case 38:
- return 6;
- case 60:
- switch (this.field_12) {
- case 33:
- case 63:
- return 999;
- case 47:
- return 3;
- case 91:
- return 5;
- default:
- return 2;
- }
- default:
- return 4;
- }
- }
-
- // $FF: renamed from: a (java.lang.String[], int) java.lang.String[]
- private static final String[] method_11(String[] var0, int var1) {
- if (var0.length >= var1) {
- return var0;
- } else {
- String[] var2 = new String[var1 + 16];
- System.arraycopy(var0, 0, var2, 0, var0.length);
- return var2;
- }
- }
-
- // $FF: renamed from: j () void
- private final void method_12() throws IOException {
- this.method_0();
- this.field_18 = this.method_6();
- this.field_3 = method_11(this.field_3, this.field_2 + 1);
- this.field_3[this.field_2++] = this.field_18;
-
- while(true) {
- this.method_4();
- int var1 = this.field_11;
- if (var1 == 47) {
- this.field_19 = true;
- this.method_0();
- this.method_4();
- this.method_3('>');
- break;
- }
-
- if (var1 == 62) {
- this.method_0();
- break;
- }
-
- if (var1 == -1) {
- this.method_1("Unexpected EOF");
- }
-
- String var2 = this.method_6();
- if (var2.length() == 0) {
- this.method_1("attr name expected");
- }
-
- this.method_4();
- this.method_3('=');
- this.method_4();
- int var3 = this.method_0();
- if (var3 != 39 && var3 != 34) {
- if (!this.field_0) {
- this.method_1("<" + this.field_18 + ">: invalid delimiter: " + (char)var3);
- }
-
- var3 = 32;
- }
-
- int var4 = this.field_20++ << 1;
- this.field_21 = method_11(this.field_21, var4 + 4);
- this.field_21[var4++] = var2;
- int var5 = this.field_14;
- this.method_14(var3);
- this.field_21[var4] = this.method_5(var5);
- if (var3 != 32) {
- this.method_0();
- }
- }
-
- }
-
- // $FF: renamed from: h () boolean
- public final boolean method_13() throws IOException {
- this.method_0();
- int var1 = this.field_14;
-
- while(!this.field_8 && this.field_11 != 59) {
- this.method_2(this.method_0());
- }
-
- String var2 = this.method_5(var1);
- this.method_0();
- if (var2.charAt(0) == '#') {
- int var7 = var2.charAt(1) == 'x' ? Integer.parseInt(var2.substring(2), 16) : Integer.parseInt(var2.substring(1));
- this.method_2(var7);
- return var7 <= 32;
- } else {
- String var3 = (String)this.field_1.get(var2);
- boolean var4 = true;
- if (var3 == null) {
- var3 = "&" + var2 + ";";
- }
-
- for(int var5 = 0; var5 < var3.length(); ++var5) {
- char var6 = var3.charAt(var5);
- if (var6 > ' ') {
- var4 = false;
- }
-
- this.method_2(var6);
- }
-
- return var4;
- }
- }
-
- // $FF: renamed from: a (int) boolean
- private final boolean method_14(int var1) throws IOException {
- boolean var2 = true;
-
- for(int var3 = this.field_11; !this.field_8 && var3 != var1 && (var1 != 32 || var3 > 32 && var3 != 62); var3 = this.field_11) {
- if (var3 == 38) {
- if (!this.method_13()) {
- var2 = false;
- }
- } else {
- if (var3 > 32) {
- var2 = false;
- }
-
- this.method_2(this.method_0());
- }
- }
-
- return var2;
- }
-
- public class_0(Reader var1) throws IOException {
- this.field_4 = var1;
- this.field_11 = var1.read();
- this.field_12 = var1.read();
- this.field_8 = this.field_11 == -1;
- this.field_1 = new Hashtable();
- this.field_1.put("amp", "&");
- this.field_1.put("apos", "'");
- this.field_1.put("gt", ">");
- this.field_1.put("lt", "<");
- this.field_1.put("quot", "\"");
- this.field_9 = 1;
- this.field_10 = 1;
- }
-
- // $FF: renamed from: m () java.lang.String
- public String method_15() {
- StringBuffer var1 = new StringBuffer(this.field_15 < this.field_22.length ? this.field_22[this.field_15] : "Other");
- var1.append(" @" + this.field_9 + ":" + this.field_10 + ": ");
- if (this.field_15 != 2 && this.field_15 != 3) {
- if (this.field_17) {
- var1.append("[whitespace]");
- } else {
- var1.append(this.method_17());
- }
- } else {
- var1.append('<');
- if (this.field_15 == 3) {
- var1.append('/');
- }
-
- var1.append(this.field_18);
- var1.append('>');
- }
-
- return var1.toString();
- }
-
- // $FF: renamed from: b () int
- public int method_16() {
- return this.field_10;
- }
-
- // $FF: renamed from: a () java.lang.String
- public String method_17() {
- if (this.field_16 == null) {
- this.field_16 = this.method_5(0);
- }
-
- return this.field_16;
- }
-
- // $FF: renamed from: d () java.lang.String
- public String method_18() {
- return this.field_18;
- }
-
- // $FF: renamed from: b (java.lang.String) java.lang.String
- public String method_19(String var1) {
- for(int var2 = (this.field_20 << 1) - 2; var2 >= 0; var2 -= 2) {
- if (this.field_21[var2].equals(var1)) {
- return this.field_21[var2 + 1];
- }
- }
-
- return null;
- }
-
- // $FF: renamed from: e () int
- public int method_20() throws IOException {
- if (this.field_19) {
- this.field_15 = 3;
- this.field_19 = false;
- --this.field_2;
- return this.field_15;
- } else {
- this.field_14 = 0;
- this.field_17 = true;
-
- do {
- this.field_20 = 0;
- this.field_18 = null;
- this.field_16 = null;
- this.field_15 = this.method_10();
- switch (this.field_15) {
- case 1:
- break;
- case 2:
- this.method_12();
- break;
- case 3:
- this.method_9();
- break;
- case 4:
- this.field_17 &= this.method_14(60);
- break;
- case 5:
- this.method_7(true);
- this.field_17 = false;
- this.field_15 = 4;
- break;
- case 6:
- this.field_17 &= this.method_13();
- this.field_15 = 4;
- break;
- default:
- this.method_7(false);
- }
- } while(this.field_15 > 4 || this.field_15 == 4 && this.method_10() >= 4);
-
- this.field_17 &= this.field_15 == 4;
- return this.field_15;
- }
- }
- }
-